/** 保存处理后图片组件,组件包括支付过程 */
import {
    Utils
} from "../../utils/fireapi";
Component({
    /**
     * 组件的属性列表
     */
    options:{
        addGlobalClass:true,
        multipleSlots:true,
    },
    properties: {
        title: String,
        // 产品
        identity: Object,
        // 要下载的图片
        imgUrl: {
            type: String,
            value: ""
        },
        selected: {
            type: String,
            value: ""
        },
        // 下载前处理函数
        beforeFun: {
            type: null
        }
    },

    /**
     * 组件的初始数据
     */
    data: {
        payFlag: []
    },

    /**
     * 组件的方法列表
     */
    methods: {
        // 保存照片
        saveImg() {
            if (!this.data.payFlag.includes(this.data.selected) && this.data.identity.price != 0) {
                this.pay((res) => {
                    if (res) {
                        this.data.payFlag.push(this.data.selected);
                        this.downloadImg();
                    }
                })

            } else {
                this.downloadImg();
            }

        },
        async downloadImg() {
            // 开始压缩事件
            // this.triggerEvent('begin');
            const that = this;

            let imgUrl = this.data.imgUrl;
            // 调用回调函数处理图片地址
            if (this.data.beforeFun) {
                imgUrl = await this.data.beforeFun(imgUrl);
            }
            // 保存到相册
            wx.saveImageToPhotosAlbum({
                filePath: imgUrl,
                success: function (info) {
                    wx.showToast({
                        title: "图片保存到相册",
                        icon: 'success',
                        duration: 2000,
                        mask: true
                    })
                },
                fail(err) {
                    // this.showError({title: "保存失败",icon: 'error',duration: 2000,mask: true});
                    // wx.showToast({
                    //     title: "图片失败",
                    //     icon: 'error',
                    //     duration: 2000,
                    //     mask: true
                    // })
                },
                
            })
        },
        // 发起支付
        pay(callback) {
            var that = this;
            wx.navigateTo({
                url: "/pages/payment/payment",
                events: {
                    // 为指定事件添加一个监听器，获取被打开页面传送到当前页面的数据
                    pay: function (data) {
                        if (data.success) {
                            // 成功支付
                            callback(true)
                        } else {
                            // that.$emit("success", false);

                        }
                    },
                },
                success: function (res) {
                    res.eventChannel.emit("product", that.data.identity);
                },
            });
        },
    }
})